/**
*  \file bfind.h
*
*  \brief
*
*  \author Michael J. Hohmann  michael.hohmann@linde-mh.de
*
*
*
*
*
*/
#ifndef BFIND_H_INCLUDED
#define BFIND_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"
#include "../compare/compare.h"

/*================================================[ public defines   ]================================================*/

/*================================================[ public datatypes ]================================================*/

/*================================================[ public variables ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/

/**
*  find an element
*
*  find an element in an sorted array or give the position where the element was expected.
*
*  \return    compare_a_less_b    if element was not found and it is expected at the returned position
*             compare_a_equals_b  if element was found at the returned position
*             compare_a_greater_b if element was not found and the expected position is outside of the given array
*
*
*
*/
enum compare bfind(const void *key, const void *base, pal_size_t num_members, pal_size_t size, compare_function_t compare, void **position );

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2018 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
